home *** CD-ROM | disk | FTP | other *** search
/ LG Super CD / LG Super CD.iso / bitpim / bitpim-0.62-setup.exe / {app} / bitpim.exe / sre_constants.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2003-11-06  |  7.3 KB  |  222 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.3)
  3.  
  4. MAGIC = 20030419
  5. MAXREPEAT = 65535
  6.  
  7. class error(Exception):
  8.     pass
  9.  
  10. FAILURE = 'failure'
  11. SUCCESS = 'success'
  12. ANY = 'any'
  13. ANY_ALL = 'any_all'
  14. ASSERT = 'assert'
  15. ASSERT_NOT = 'assert_not'
  16. AT = 'at'
  17. BIGCHARSET = 'bigcharset'
  18. BRANCH = 'branch'
  19. CALL = 'call'
  20. CATEGORY = 'category'
  21. CHARSET = 'charset'
  22. GROUPREF = 'groupref'
  23. GROUPREF_IGNORE = 'groupref_ignore'
  24. IN = 'in'
  25. IN_IGNORE = 'in_ignore'
  26. INFO = 'info'
  27. JUMP = 'jump'
  28. LITERAL = 'literal'
  29. LITERAL_IGNORE = 'literal_ignore'
  30. MARK = 'mark'
  31. MAX_REPEAT = 'max_repeat'
  32. MAX_UNTIL = 'max_until'
  33. MIN_REPEAT = 'min_repeat'
  34. MIN_UNTIL = 'min_until'
  35. NEGATE = 'negate'
  36. NOT_LITERAL = 'not_literal'
  37. NOT_LITERAL_IGNORE = 'not_literal_ignore'
  38. RANGE = 'range'
  39. REPEAT = 'repeat'
  40. REPEAT_ONE = 'repeat_one'
  41. SUBPATTERN = 'subpattern'
  42. MIN_REPEAT_ONE = 'min_repeat_one'
  43. AT_BEGINNING = 'at_beginning'
  44. AT_BEGINNING_LINE = 'at_beginning_line'
  45. AT_BEGINNING_STRING = 'at_beginning_string'
  46. AT_BOUNDARY = 'at_boundary'
  47. AT_NON_BOUNDARY = 'at_non_boundary'
  48. AT_END = 'at_end'
  49. AT_END_LINE = 'at_end_line'
  50. AT_END_STRING = 'at_end_string'
  51. AT_LOC_BOUNDARY = 'at_loc_boundary'
  52. AT_LOC_NON_BOUNDARY = 'at_loc_non_boundary'
  53. AT_UNI_BOUNDARY = 'at_uni_boundary'
  54. AT_UNI_NON_BOUNDARY = 'at_uni_non_boundary'
  55. CATEGORY_DIGIT = 'category_digit'
  56. CATEGORY_NOT_DIGIT = 'category_not_digit'
  57. CATEGORY_SPACE = 'category_space'
  58. CATEGORY_NOT_SPACE = 'category_not_space'
  59. CATEGORY_WORD = 'category_word'
  60. CATEGORY_NOT_WORD = 'category_not_word'
  61. CATEGORY_LINEBREAK = 'category_linebreak'
  62. CATEGORY_NOT_LINEBREAK = 'category_not_linebreak'
  63. CATEGORY_LOC_WORD = 'category_loc_word'
  64. CATEGORY_LOC_NOT_WORD = 'category_loc_not_word'
  65. CATEGORY_UNI_DIGIT = 'category_uni_digit'
  66. CATEGORY_UNI_NOT_DIGIT = 'category_uni_not_digit'
  67. CATEGORY_UNI_SPACE = 'category_uni_space'
  68. CATEGORY_UNI_NOT_SPACE = 'category_uni_not_space'
  69. CATEGORY_UNI_WORD = 'category_uni_word'
  70. CATEGORY_UNI_NOT_WORD = 'category_uni_not_word'
  71. CATEGORY_UNI_LINEBREAK = 'category_uni_linebreak'
  72. CATEGORY_UNI_NOT_LINEBREAK = 'category_uni_not_linebreak'
  73. OPCODES = [
  74.     FAILURE,
  75.     SUCCESS,
  76.     ANY,
  77.     ANY_ALL,
  78.     ASSERT,
  79.     ASSERT_NOT,
  80.     AT,
  81.     BRANCH,
  82.     CALL,
  83.     CATEGORY,
  84.     CHARSET,
  85.     BIGCHARSET,
  86.     GROUPREF,
  87.     GROUPREF_IGNORE,
  88.     IN,
  89.     IN_IGNORE,
  90.     INFO,
  91.     JUMP,
  92.     LITERAL,
  93.     LITERAL_IGNORE,
  94.     MARK,
  95.     MAX_UNTIL,
  96.     MIN_UNTIL,
  97.     NOT_LITERAL,
  98.     NOT_LITERAL_IGNORE,
  99.     NEGATE,
  100.     RANGE,
  101.     REPEAT,
  102.     REPEAT_ONE,
  103.     SUBPATTERN,
  104.     MIN_REPEAT_ONE]
  105. ATCODES = [
  106.     AT_BEGINNING,
  107.     AT_BEGINNING_LINE,
  108.     AT_BEGINNING_STRING,
  109.     AT_BOUNDARY,
  110.     AT_NON_BOUNDARY,
  111.     AT_END,
  112.     AT_END_LINE,
  113.     AT_END_STRING,
  114.     AT_LOC_BOUNDARY,
  115.     AT_LOC_NON_BOUNDARY,
  116.     AT_UNI_BOUNDARY,
  117.     AT_UNI_NON_BOUNDARY]
  118. CHCODES = [
  119.     CATEGORY_DIGIT,
  120.     CATEGORY_NOT_DIGIT,
  121.     CATEGORY_SPACE,
  122.     CATEGORY_NOT_SPACE,
  123.     CATEGORY_WORD,
  124.     CATEGORY_NOT_WORD,
  125.     CATEGORY_LINEBREAK,
  126.     CATEGORY_NOT_LINEBREAK,
  127.     CATEGORY_LOC_WORD,
  128.     CATEGORY_LOC_NOT_WORD,
  129.     CATEGORY_UNI_DIGIT,
  130.     CATEGORY_UNI_NOT_DIGIT,
  131.     CATEGORY_UNI_SPACE,
  132.     CATEGORY_UNI_NOT_SPACE,
  133.     CATEGORY_UNI_WORD,
  134.     CATEGORY_UNI_NOT_WORD,
  135.     CATEGORY_UNI_LINEBREAK,
  136.     CATEGORY_UNI_NOT_LINEBREAK]
  137.  
  138. def makedict(list):
  139.     d = { }
  140.     i = 0
  141.     for item in list:
  142.         d[item] = i
  143.         i = i + 1
  144.     
  145.     return d
  146.  
  147. OPCODES = makedict(OPCODES)
  148. ATCODES = makedict(ATCODES)
  149. CHCODES = makedict(CHCODES)
  150. OP_IGNORE = {
  151.     GROUPREF: GROUPREF_IGNORE,
  152.     IN: IN_IGNORE,
  153.     LITERAL: LITERAL_IGNORE,
  154.     NOT_LITERAL: NOT_LITERAL_IGNORE }
  155. AT_MULTILINE = {
  156.     AT_BEGINNING: AT_BEGINNING_LINE,
  157.     AT_END: AT_END_LINE }
  158. AT_LOCALE = {
  159.     AT_BOUNDARY: AT_LOC_BOUNDARY,
  160.     AT_NON_BOUNDARY: AT_LOC_NON_BOUNDARY }
  161. AT_UNICODE = {
  162.     AT_BOUNDARY: AT_UNI_BOUNDARY,
  163.     AT_NON_BOUNDARY: AT_UNI_NON_BOUNDARY }
  164. CH_LOCALE = {
  165.     CATEGORY_DIGIT: CATEGORY_DIGIT,
  166.     CATEGORY_NOT_DIGIT: CATEGORY_NOT_DIGIT,
  167.     CATEGORY_SPACE: CATEGORY_SPACE,
  168.     CATEGORY_NOT_SPACE: CATEGORY_NOT_SPACE,
  169.     CATEGORY_WORD: CATEGORY_LOC_WORD,
  170.     CATEGORY_NOT_WORD: CATEGORY_LOC_NOT_WORD,
  171.     CATEGORY_LINEBREAK: CATEGORY_LINEBREAK,
  172.     CATEGORY_NOT_LINEBREAK: CATEGORY_NOT_LINEBREAK }
  173. CH_UNICODE = {
  174.     CATEGORY_DIGIT: CATEGORY_UNI_DIGIT,
  175.     CATEGORY_NOT_DIGIT: CATEGORY_UNI_NOT_DIGIT,
  176.     CATEGORY_SPACE: CATEGORY_UNI_SPACE,
  177.     CATEGORY_NOT_SPACE: CATEGORY_UNI_NOT_SPACE,
  178.     CATEGORY_WORD: CATEGORY_UNI_WORD,
  179.     CATEGORY_NOT_WORD: CATEGORY_UNI_NOT_WORD,
  180.     CATEGORY_LINEBREAK: CATEGORY_UNI_LINEBREAK,
  181.     CATEGORY_NOT_LINEBREAK: CATEGORY_UNI_NOT_LINEBREAK }
  182. SRE_FLAG_TEMPLATE = 1
  183. SRE_FLAG_IGNORECASE = 2
  184. SRE_FLAG_LOCALE = 4
  185. SRE_FLAG_MULTILINE = 8
  186. SRE_FLAG_DOTALL = 16
  187. SRE_FLAG_UNICODE = 32
  188. SRE_FLAG_VERBOSE = 64
  189. SRE_FLAG_DEBUG = 128
  190. SRE_INFO_PREFIX = 1
  191. SRE_INFO_LITERAL = 2
  192. SRE_INFO_CHARSET = 4
  193. if __name__ == '__main__':
  194.     import string
  195.     
  196.     def dump(f, d, prefix):
  197.         items = d.items()
  198.         items.sort((lambda a, b: cmp(a[1], b[1])))
  199.         for k, v in items:
  200.             f.write('#define %s_%s %s\n' % (prefix, string.upper(k), v))
  201.         
  202.  
  203.     f = open('sre_constants.h', 'w')
  204.     f.write("/*\n * Secret Labs' Regular Expression Engine\n *\n * regular expression matching engine\n *\n * NOTE: This file is generated by sre_constants.py.  If you need\n * to change anything in here, edit sre_constants.py and run it.\n *\n * Copyright (c) 1997-2001 by Secret Labs AB.  All rights reserved.\n *\n * See the _sre.c file for information on usage and redistribution.\n */\n\n")
  205.     f.write('#define SRE_MAGIC %d\n' % MAGIC)
  206.     dump(f, OPCODES, 'SRE_OP')
  207.     dump(f, ATCODES, 'SRE')
  208.     dump(f, CHCODES, 'SRE')
  209.     f.write('#define SRE_FLAG_TEMPLATE %d\n' % SRE_FLAG_TEMPLATE)
  210.     f.write('#define SRE_FLAG_IGNORECASE %d\n' % SRE_FLAG_IGNORECASE)
  211.     f.write('#define SRE_FLAG_LOCALE %d\n' % SRE_FLAG_LOCALE)
  212.     f.write('#define SRE_FLAG_MULTILINE %d\n' % SRE_FLAG_MULTILINE)
  213.     f.write('#define SRE_FLAG_DOTALL %d\n' % SRE_FLAG_DOTALL)
  214.     f.write('#define SRE_FLAG_UNICODE %d\n' % SRE_FLAG_UNICODE)
  215.     f.write('#define SRE_FLAG_VERBOSE %d\n' % SRE_FLAG_VERBOSE)
  216.     f.write('#define SRE_INFO_PREFIX %d\n' % SRE_INFO_PREFIX)
  217.     f.write('#define SRE_INFO_LITERAL %d\n' % SRE_INFO_LITERAL)
  218.     f.write('#define SRE_INFO_CHARSET %d\n' % SRE_INFO_CHARSET)
  219.     f.close()
  220.     print 'done'
  221.  
  222.